#
#   PDF 2D Contour at any given time.
#

#
#   Copyright (C) 2012
#
#   This program is free software: you can redistribute it and/or modify
#   it under the terms of the GNU General Public License as published by
#   the Free Software Foundation, either version 3 of the License, or
#   (at your option) any later version.
#
#   This program is distributed in the hope that it will be useful,
#   but WITHOUT ANY WARRANTY; without even the implied warranty of
#   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#   GNU General Public License for more details.
#
#   You should have received a copy of the GNU General Public License
#   along with this program.  If not, see <http://www.gnu.org/licenses/>.
#

def segments(min,max,steps):
    return [i/float(steps)*(max-min)+min for i in range(steps+1)]

from HarmonicOscillatorND import Psi as wvfn

time = 0.0 #0.5*pi/omega

# Solve...

outfile = open("./wvfn.csv",'w')

int = 0
for x in segments(-10,10,100):
    for y in segments(-10,10,100):
        rho = wvfn(time,[x,y]).real
        int += rho*(10-(-10))/100.0 * (10-(-10))/100.0
        outfile.write(str(x)+", "+str(y)+", "+str(rho)+", "+str(int)+"\n")

outfile.close()

print("Updated './wvfn.csv'")